##########################
# SETTING UP PERMISSIONS #
##########################


You can also bind the shop owner to that teleport request. This means that the
owner and the customer teleport to the shop when the teleport request is
accepted. 


===============
== Apologies ==
===============

Sorry, but this file is a mess - there's a lot of information here, and I can't
think of a way or format for expressing it clearly and concisely. At the moment,
I think this file makes it seem more complicated than it is. Ideally, I want
this to be intellegable to someone with little experience with permissions.

Any comments and queries can be sent to me via bukkit.dev or on the plugin's
bukkit.dev page.

=============================
== Format of This Document ==
=============================

The .* at the end signifies that all sub-permissions will be granted. There is
no need to worry about conflicts between any sub-permissions, because there are
none.
If the node also grants grants or removes other permissions which are not lower
in the heirachy, the other permissions will be listed with --> underneath it, 
with 'true' or 'false' after it to indicate how it affects them.

I have split the explanation into three sections - the default permissions of
a player explained, the hierachy of permissions, followed by the easy setup
options explained.

Permissions nodes are grouped by type, and are set up like this:

---- Type Name ----
Description of the type

####
Permisions nodes - add these to your permissions config file
####


=================
== The Default ==
=================

The plugin grants these perms to the default player automatically. If you want
to have configure the plugin manually, you may have to remove 'Boutique.Default'
first. I'll say that again, because it's important:

!!!!!!!!!!!!!!!!!!!
!!!!!!!
!!!!
!!
!          You may have to remove 'Boutique.Default'
!          if you want to edit what permissions are granted
!!
!!!!
!!!!!!
!!!!!!!!!!!!!!!!!!!

The default permissions is as follows:

####
Boutique.Default: gives players the default permissions of version 1.3 and earlier, adding '/shop edit' permissions
  ->Boutique.CustomerTP.OnlineSeller.Open: true
  ->Boutique.OwnerTP.Open: true
  ->Boutique.Shop.*: true
####

Ops have the permission 'Boutique.Admin.*' by default
  
==========================
== Permissions Hierachy ==
==========================

The following is a list of permissions nodes you can set up.


--- CustomerTP ----
These control when and where someone can teleport to someone else's shop

####
Boutique.CustomerTP.*: Grants the ability to teleport to someone else's shop at any time
  Boutique.CustomerTP.OnlineSeller.*: Grants the ability to teleport to someone else's shop when the owner is online
    Boutique.CustomerTP.OnlineSeller.Open: Grants the ability to teleport to someone else's shop if the owner is online and the shop is open
    Boutique.CustomerTP.OnlineSeller.Closed: Grants the ability to teleport to someone else's shop if the owner is online and the shop is closed
 Boutique.CustomerTP.OfflineSeller.*: Grants the ability to teleport to someone else's shop when the owner is offline
    Boutique.CustomerTP.OfflineSeller.Open: Grants the ability to teleport to someone else's shop if the owner is offline and the shop is open
    Boutique.CustomerTP.OfflineSeller.Closed: Grants the ability to teleport to someone else's shop if the owner is offline and the shop is closed
####

---- CustomerRequestTP ----
Use these instead of the above permissions nodes if you want to use request
teleporting. With request teleporting, the customer can only teleport to a shop
if the owner agrees that they can. When the customer types in /shop go [player],
Player gets a message on his screen which tells them that the customer wishes to
go to his shop, and that he must type /shop accept to accept the request.

####
Boutique.CustomerRequestTP.*: Grants the ability to request teleport to a shop whether it's open or closed (owner must be online, of course)
  Boutique.CustomerRequestTP.Open: Grants the ability to request teleport to a shop when it's open (owner must be online, of course)
  Boutique.CustomerRequestTP.Closed: Grants the ability to request teleport to a shop when it's closed (owner must be online, of course)
####

---- OwnerTP ----
These control when a player canh teleport to their own shop

####
Boutique.OwnerTP.*: Grants the ability to teleport to one's own shop regardless of whether it's open or closed
  Boutique.OwnerTP.Open: Grants the ability to teleport to one's own shop regardless of when it is open
  Boutique.OwnerTP.Closed: Grants the ability to teleport to one's own shop regardless of when it is closed
####

---- OwnerBindTP ----
When someone has this permission, and they accept a teleport request, they will
also teleport to their shop.

####
Boutique.OwnerBindTP.*: Forces the owner of a shop to teleport to their shop when they accept a TP request from a customer
  Boutique.OwnerBindTP.Open: Forces the owner of a shop to teleport to their shop when they accept a TP request from a customer when the shop is open  
  Boutique.OwnerBindTP.Closed: Forces the owner of a shop to teleport to their shop when they accept a TP request from a customer when the shop is closed
####

---- Shop ----
These permissions grant the player a variety of commands that allow them to
create and maintain their shop.

####
Boutique.Shop.*: Allows a player to create, edit, open, close and delete their shop   
  Boutique.Shop.Create.*: Allows a player to create and edit a shop with or without a description
    Boutique.Shop.Create.Description: Allows a player to create and edit a shop with a description
    Boutique.Shop.Create.NoDescription: Allows a player to create and edit a shop without a description
  Boutique.Shop.OpenAndClose: Allows a player to open and close their shop
  Boutique.Shop.Delete: Allows a player to delete their shop
####

---- Admin ----
This grants a player admin permissions to Boutique. This section will not
affect a player's ability to make shops.

Ops have Boutique.Admin.* by default

####
Boutique.Admin.*: Gives admin permissions for Boutique. Currently, this is just unrestricted teleportation to shops and the ability to delete others' shops
  -> Boutique.CustomerTP.*: true
  -> Boutique.CustomerRequestTP.*: false
  -> Boutique.OwnerTP.*: true
  Boutique.Admin.Delete: Allows someone to delete someone else's shop
####

=================
== Easy Setup  ==
=================

I made a number of easy setup nodes that grant a variety of permissions:
You must removed 'Boutique.Default' from a player's permissions for these to function correctly

Boutique.EasySetup.DefaultButRequestTP: This is like Boutique.EasySetup.Default, but teleporting to someone else's shop requires request teleporting
  -> Boutique.CustomerRequestTP.Open: true
  -> Boutique.OwnerTP.Open: true
  -> Boutique.Shop.*: true
    
Boutique.EasySetup.Libertarian: Gives players the ability to teleport to any shop, any time, and to create and edit shops
  -> Boutique.CustomerTP.*: true
  -> Boutique.OwnerTP.*: true
  -> Boutique.Shop.*: true
    
Boutique.EasySetup.Customer: gives players the default teleport permissions of version 1.3 and earlier, but not the ability to make and edit shops
  -> Boutique.CustomerTP.OnlineSeller.Open: true

